--[[
    @Author       : GGELUA
    @Date         : 2022-03-28 10:46:04
Last Modified by: GGELUA
Last Modified time: 2023-05-25 16:57:25
--]]
local 召唤兽属性 = 多开数据[多开数据.当前].__UI界面.窗口层:创建窗口("召唤兽属性", 0, 0, 780, 500)
local 当前 = 多开数据.当前
local lsb = { "气血", "魔法", "攻击", "防御", "速度", "灵力", "忠诚", "经验", "体质", "法力", "力量", "耐力", "敏捷", "潜能" }
local lsb2 = { "气血", "魔法", "伤害", "防御", "速度", "灵力", "忠诚", "经验", "体质", "魔力", "力量", "耐力", "敏捷", "潜力" }
local lsb3 = { "攻击资质", "防御资质", "体力资质", "法术资质", "速度资质", "闪躲资质", "寿  命", "成  长", "五  行" }
local lsb4 = { "攻击资质", "防御资质", "体力资质", "法力资质", "速度资质", "躲闪资质", "寿命", "成长", "五行" }
function 召唤兽属性:初始化()
    __置窗口坐标(self)
    local nsf = require('SDL.图像')(780, 500)
    if nsf:渲染开始() then
        置窗口背景("召唤兽", 0, 12, 770, 485, true):显示(0, 0)
        取输入背景(0, 0, 160, 23):显示(26, 77)
        __res:getPNGCC(3, 375, 388, 145, 149):显示(77, 118)
        __res:getPNGCC(3, 684, 411, 57, 174):显示(247, 116)
        nsf:渲染结束()
    end
    self:置精灵(nsf:到精灵())
    self.选中召唤兽 = nil
    self.模型格子 = __UI模型格子.创建(当前)
end

function 召唤兽属性:更新(dt)
    self.模型格子:更新(dt)
end

function 召唤兽属性:显示(x, y)
    if self.数据 then
        self.数据:显示(x, y)
    end
    self.模型格子:显示(x, y)
end

function 召唤兽属性:打开()
    self:置可见(true)
    self.选中召唤兽 = nil
    召唤兽属性.头像网格:置头像(多开数据[当前].角色信息.宝宝列表)
    召唤兽属性.属性按钮:置选中(true)
    召唤兽属性.属性:重置()
    召唤兽属性.装备网格:置物品({})
    召唤兽属性.饰品网格:置物品()
    召唤兽属性.名称输入:清空()
    self.模型格子:置数据()
end

function 召唤兽属性:重置目标()
    self:重置()
    self.属性:重置()
end

function 召唤兽属性:重置()
    if not 召唤兽属性.选中召唤兽 then
        self.数据 = nil
    else
        local nsf = require('SDL.图像')(250, 300)
        if nsf:渲染开始() then
            if 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].化境 then
                字体18:置颜色(246, 42, 210)
                字体18:取描边图像("化圣" ..
                    多开数据[当前].__主控:数字转境(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].化境.境界) ..
                    多开数据[当前].__主控:数字转天(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].化境.天)):置混合(0):显示(100, 270)
            else
                字体18:置颜色(255, 255, 255)
                字体18:取图像("等级 " .. 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].等级):置混合(0):显示(100, 270)
            end
            nsf:渲染结束()
        end
        self.数据 = nsf:到精灵()
    end
end

function 召唤兽属性:重置模型()
    if not 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then return end
    self.模型格子:置数据(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽], "召唤兽", 150, 225)
end

local 关闭 = 召唤兽属性:创建我的按钮(__res:getPNGCC(1, 401, 0, 46, 46), "关闭", 730, 0)

function 关闭:左键弹起(x, y, msg)
    多开数据[当前].__UI界面.窗口层.召唤兽属性:置可见(false)
end

local 染色 = 召唤兽属性:创建我的按钮(__res:getPNGCC(3, 685, 358, 50, 50):拉伸(35, 35), "染色", 20, 35)

function 染色:左键弹起(x, y, msg)
    if not 召唤兽属性.选中召唤兽 then
        多开数据[当前].__UI弹出.提示框:打开("#Y/请先选中要染色的召唤兽")
        return
    end
    多开数据[当前].__UI界面.窗口层.召唤兽染色:打开(召唤兽属性.选中召唤兽)
end

local 名称输入 = 召唤兽属性:创建输入("名称输入", 35, 80, 140, 18)
function 名称输入:初始化()
    self:取光标精灵()
    self:置限制字数(8)
    self:置颜色(39, 53, 81, 255)
end

local 头像网格 = 召唤兽属性:创建网格("头像网格", 15, 307, 300, 140)

function 头像网格:初始化()
    self:创建格子(70, 70, 5, 5, 3, 4, true)
end

function 头像网格:左键弹起(x, y, a, b, msg)
    if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.数据 then
        if 召唤兽属性.选中召唤兽 then
            self.子控件[召唤兽属性.选中召唤兽]._spr.确定 = nil
        end
        召唤兽属性.选中召唤兽 = a
        self.子控件[a]._spr.确定 = true
        召唤兽属性.属性:重置()
        召唤兽属性:重置()
        召唤兽属性.名称输入:置文本(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].名称)
        召唤兽属性.装备网格:置物品(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].装备)
        if 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].饰品 then
            召唤兽属性.饰品网格:置物品({名称=多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].模型.."饰品"})
        else
            召唤兽属性.饰品网格:置物品()
        end
        if 多开数据[当前].__UI界面.窗口层.消息管理.是否可见 then
            多开数据[当前].__UI界面.窗口层.消息管理.附加数据[1] = {
                类型 = "召唤兽",
                点击类型 = "召唤兽",
                名称= 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].名称,
                编号= 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].认证码
            }
            多开数据[当前].__UI界面.窗口层.消息管理.消息输入:添加文本("["..多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].名称.."]",频道) 
        end

        召唤兽属性.模型格子:置数据(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽], "召唤兽", 150, 225)
    end
end

function 头像网格:置头像(数据)
    for i = 1, #头像网格.子控件 do
        local lssj = __头像格子.创建(当前)
        lssj:置头像(数据[i], "大")
        头像网格.子控件[i]:置精灵(lssj)
    end
end

local 装备网格 = 召唤兽属性:创建网格("装备网格", 248, 117, 60, 180)

function 装备网格:初始化()
    self:创建格子(55, 55, 4, 0, 3, 1)
end

function 装备网格:左键弹起(x, y, a, b, msg)
    if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.物品 then
        local x, y = self.子控件[a]:取坐标()
        local w, h = self.子控件[a]:取宽高()
        self.子控件[a]._spr:详情打开(520, 86, w, h, nil, a)
    end
end

function 装备网格:置物品(数据)
    for i = 1, #装备网格.子控件 do
        local lssj = __物品格子.创建(当前)
        lssj:置物品(数据[i], "白格子", "装备")
        装备网格.子控件[i]:置精灵(lssj)
    end
end

local 饰品网格 = 召唤兽属性:创建网格("饰品网格", 15, 117, 60, 180)

function 饰品网格:初始化()
    self:创建格子(55, 55, 4, 0, 1, 1)
end

function 饰品网格:左键弹起(x, y, a, b, msg)
    if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.物品 then
        local x, y = self.子控件[a]:取坐标()
        local w, h = self.子控件[a]:取宽高()
        self.子控件[a]._spr:详情打开(520, 86, w, h, nil, a)
    end
end

function 饰品网格:置物品(数据)
    for i = 1, #饰品网格.子控件 do
        local lssj = __物品格子.创建(当前)
        lssj:置物品(数据, "白格子", "饰品")
        饰品网格.子控件[i]:置精灵(lssj)
    end
end

local 属性按钮 = 召唤兽属性:创建我的单选按钮(__res:getPNGCC(1, 401, 65, 175, 43, true), __res:getPNGCC(1, 963, 495, 175, 43, true), "属性按钮",
    330, 70, "属 性")

function 属性按钮:左键按下(消息, x, y)
    召唤兽属性.属性:重置()
end

local 资质按钮 = 召唤兽属性:创建我的单选按钮(__res:getPNGCC(1, 401, 65, 175, 43, true), __res:getPNGCC(1, 963, 495, 175, 43, true), "资质按钮",
    590, 70, "资 质")

function 资质按钮:左键按下(消息, x, y)
    召唤兽属性.资质:重置()
end

-- local 锦衣按钮 = 召唤兽属性:创建我的按钮(__res:getPNGCC(1, 401, 65, 175, 43, true):拉伸(55, 55), "锦衣按钮", 15,175+55+5, "锦衣")--锦衣1
-- function 锦衣按钮:左键弹起(x, y, msg)
--     if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
--        发送数据(当前, 212.5)
           
--     end
    -- end



local 改名按钮 = 召唤兽属性:创建我的按钮(__res:getPNGCC(2, 493, 765, 118, 35, true):拉伸(104, 35), "改名按钮", 198, 72, "▲ 改名")

function 改名按钮:左键弹起(x, y, msg)
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
        if 取特殊字符(召唤兽属性.名称输入:取文本()) then
            发送数据(当前, 5003, { 序列 = 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].认证码, 名称 = 召唤兽属性.名称输入:取文本() })
        else
            多开数据[当前].__UI弹出.提示框:打开("输入名称不能是空")
        end
    end
end

local 属性 = 召唤兽属性:创建控件("属性", 339, 110, 430, 380)
function 属性:初始化()
    local nsf = require('SDL.图像')(410, 315)
    if nsf:渲染开始() then
        字体18:置颜色(255, 255, 255)
        local lssj = 取输入背景(0, 0, 140, 23)
        local lssj2 = __res:getPNGCC(1, 400, 109, 185, 17):拉伸(140, 17)
        local pyx = 0
        local pyy = 0
        for i = 1, #lsb do
            if i > 8 then
                pyx = 197
                pyy = -320
            end
            if lsb[i] ~= "气血" and lsb[i] ~= "魔法" and lsb[i] ~= "经验" then
                lssj:显示(59 + pyx, 14 + pyy + ((i - 1) * 40))
            elseif lsb[i] == "经验" then
                __res:getPNGCC(1, 400, 127, 305, 18):拉伸(335, 18):显示(59 + pyx, 17 + pyy + ((i - 1) * 40))
            else
                lssj2:显示(59 + pyx, 17 + pyy + ((i - 1) * 40))
            end
            字体18:取图像(lsb[i]):置混合(0):显示(15 + pyx, 15 + pyy + ((i - 1) * 40))
        end
        nsf:渲染结束()
    end
    self:置精灵(nsf:到精灵())
end

function 属性:显示(x, y)
    if self.数据 then
        self.数据:显示(x, y)
    end
end

function 属性:重置()
    self:置可见(true)
    召唤兽属性.资质:置可见(false)
    召唤兽属性.属性按钮:置选中(true)
    if not 召唤兽属性.选中召唤兽 then
        self.数据 = nil
    else
        local nsf = require('SDL.图像')(410, 315)
        if nsf:渲染开始() then
            字体18:置颜色(39, 53, 81)
            字体16:置颜色(39, 53, 81)
            local pyx = 0
            local pyy = 0
            for i = 1, #lsb2 do
                if i > 8 then
                    pyx = 197
                    pyy = -320
                end
                if lsb2[i] ~= "气血" and lsb2[i] ~= "魔法" and lsb2[i] ~= "经验" then
                    字体18:取图像(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽][lsb2[i]]):置混合(0):显示(68 + pyx, 15 + pyy + ((i - 1) * 40))
                elseif lsb2[i] == "气血" then
                    local lssj2 = 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].气血 / 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].最大气血
                    if lssj2 > 1 then lssj2 = 1 end
                    __res:getPNGCC(1, 400, 163, 305, 16):拉伸(math.floor(138 * lssj2), 16):显示(60, 18)
                    字体16:取图像(string.format("%s/%s", 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].气血,
                        多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].最大气血)):显示(90, 18)
                elseif lsb2[i] == "魔法" then
                    local lssj2 = 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].魔法 / 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].最大魔法
                    if lssj2 > 1 then lssj2 = 1 end
                    __res:getPNGCC(1, 401, 145, 305, 16):拉伸(math.floor(138 * lssj2), 16):显示(60, 58)
                    字体16:取图像(string.format("%s/%s", 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].魔法,
                        多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].最大魔法)):显示(90, 58)
                elseif lsb2[i] == "经验" then
                    local lssj2 = 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].当前经验 / 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].最大经验
                    if lssj2 > 1 then lssj2 = 1 end
                    __res:getPNGCC(1, 587, 108, 183, 16):拉伸(math.floor(333 * lssj2), 16):显示(60, 298)
                    字体16:取图像(string.format("%s/%s", 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].当前经验,
                        多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].最大经验)):显示(170, 298)
                end
            end
            字体18:置颜色(255, 255, 255)
            字体18:取图像("参战等级 " .. 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].参战等级):置混合(0):显示(210, 255)
            nsf:渲染结束()
        end
        self.数据 = nsf:到精灵()
        self.休息按钮:重置()
    end
end

local 加点按钮 = 属性:创建我的按钮(__res:getPNGCC(1, 626, 28, 58, 34, true):拉伸(69, 34), "加点按钮", 328, 209, "加点")

function 加点按钮:左键弹起(x, y, msg)
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
        多开数据[当前].__UI界面.窗口层.召唤兽加点:打开(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽])
    end
end

local 驯养按钮 = 属性:创建我的按钮(__res:getPNGCC(1, 626, 28, 58, 34, true):拉伸(69, 34), "驯养按钮", 131, 249, "驯养")

function 驯养按钮:左键弹起(x, y, msg)

end
local 锦衣按钮 = 属性:创建我的按钮(__res:getPNGCC(1, 626, 28, 58, 34, true):拉伸(69, 34), "锦衣按钮", 328, 209+45, "锦衣")--锦衣1

function 锦衣按钮:左键弹起(x, y, msg)
	发送数据(当前,207.2)
end
local 放生按钮 = 属性:创建我的按钮(__res:getPNGCC(1, 401, 65, 175, 43, true):拉伸(80, 43), "放生按钮", 0, 322, "放生")

function 放生按钮:左键弹起(x, y, msg)
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
        local 事件 = function()
            发送数据(当前, 5005, { 序列 = 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].认证码 })
        end
        local wb = "真的要放生#Y/" .. 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].等级 ..
            "级的#R/" .. 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].名称 .. "#W/吗?"
        多开数据[当前].__UI界面.窗口层.文本栏:打开(wb, 285, 155, 390, 200, 事件)
    end
end

local 休息按钮 = 属性:创建我的按钮(__res:getPNGCC(1, 401, 65, 175, 43, true):拉伸(80, 43), "休息按钮", 0+85, 322, "参战")

function 休息按钮:重置()
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].参战信息 == 1 then
        属性:我的按钮置文字(self, __res:getPNGCC(1, 401, 65, 175, 43, true):拉伸(80, 43), "休息")
    else
        属性:我的按钮置文字(self, __res:getPNGCC(1, 401, 65, 175, 43, true):拉伸(80, 43), "参战")
    end
end

function 休息按钮:左键弹起(x, y, msg)
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
        发送数据(当前, 5002, { 序列 = 召唤兽属性.选中召唤兽 })
    end
end

local 进化按钮 = 属性:创建我的按钮(__res:getPNGCC(1, 401, 65, 175, 43, true):拉伸(80, 43), "进化按钮", 0+85+85, 322, "进化")

function 进化按钮:左键弹起(x, y, msg)
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
        发送数据(当前, 3801.4, { 序列 = 召唤兽属性.选中召唤兽, 操作 = "进化宝宝" })
    end
end
local 进阶按钮 = 属性:创建我的按钮(__res:getPNGCC(1, 401, 65, 175, 43, true):拉伸(80, 43), "进阶按钮", 0+85+85+85, 322, "进阶")

function 进阶按钮:左键弹起(x, y, msg)
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
        发送数据(当前, 3801.4, { 序列 = 召唤兽属性.选中召唤兽, 操作 = "进阶宝宝" })
    end
end
local 洗点按钮 = 属性:创建我的按钮(__res:getPNGCC(1, 401, 65, 175, 43, true):拉伸(80, 43), "洗点按钮", 0+85+85+85+85, 322, "洗点")

function 洗点按钮:左键弹起(x, y, msg)
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
        发送数据(当前, 5017, { 序列 = 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].认证码 })
    end
end

local 资质 = 召唤兽属性:创建控件("资质", 324, 110, 440, 375)

function 资质:初始化()

end

function 资质:重置()
    self:置可见(true)
    召唤兽属性.属性:置可见(false)
    self.技能按钮:置选中(true)
    self.技能:重置()
end

local 技能按钮 = 资质:创建我的单选按钮(__res:getPNGCC(3, 1041, 57, 132, 40, true), __res:getPNGCC(3, 1041, 9, 132, 42, true), "技能按钮",
    15, 9, "技能")

function 技能按钮:左键按下(消息, x, y)
    资质.技能:重置()
end

local 内丹按钮 = 资质:创建我的单选按钮(__res:getPNGCC(3, 1041, 57, 132, 40, true), __res:getPNGCC(3, 1041, 9, 132, 42, true), "内丹按钮",
    155, 9, "内丹")

function 内丹按钮:左键按下(消息, x, y)
    资质.内丹:重置()
end

local 进阶按钮 = 资质:创建我的单选按钮(__res:getPNGCC(3, 1041, 57, 132, 40, true), __res:getPNGCC(3, 1041, 9, 132, 42, true), "进阶按钮",
    295, 9, "进阶")

function 进阶按钮:左键按下(消息, x, y)
    资质.进阶:重置()
end

local 技能 = 召唤兽属性.资质:创建控件("技能", 0, 0, 440, 375)

local 赐福技能 = 技能:创建我的was按钮(__res:取地址('shape/ui/',0X91000004),"赐福技能",200,65)

function 赐福技能:左键弹起(消息, x, y)
    if 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] then
        多开数据[当前].__UI弹出.召唤兽技能弹出:打开(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].技能,多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].丸子技能)
    end
end
 
function 技能:初始化()
    local nsf = require('SDL.图像')(440, 375)
    if nsf:渲染开始() then
        local lssj = 取输入背景(0, 0, 90, 23)
        __res:getPNGCC(3, 438, 608, 433, 322):显示(0, 49)
        for i = 1, #lsb3 do
            lssj:显示(87, 59 + ((i - 1) * 35))
            字体18:取图像(lsb3[i]):显示(7, 61 + ((i - 1) * 35))
        end
        nsf:渲染结束()
    end
    self:置精灵(nsf:到精灵())
end

function 技能:显示(x, y)
    if self.数据 then
        self.数据:显示(x, y)
    end
end

function 技能:重置()
    资质.技能:置可见(true)
    资质.内丹:置可见(false)
    资质.进阶:置可见(false)
    self.数据 = nil
    if 召唤兽属性.选中召唤兽 then
        local nsf = require("SDL.图像")(180, 370)
        if nsf:渲染开始() then
            字体18:置颜色(39, 53, 81)
            for i = 1, #lsb4 do
                if lsb4[i]=="寿命" and (多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].种类=="神兽"or 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].种类=="特殊神兽")  then
                字体18:取图像("※永生※"):显示(92, 62 + (i - 1) * 35)
                else
                字体18:取图像(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽][lsb4[i]]):显示(92, 62 + (i - 1) * 35)
                end
            end
            nsf:渲染结束()
        end
        self.数据 = nsf:到精灵()
        资质.技能.技能网格:置数据(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].技能, 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].法术认证, 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].丸子技能)
    else
        资质.技能.技能网格:置数据({})
    end
end

local 技能网格 = 技能:创建网格("技能网格", 184, 90, 245, 185)

function 技能网格:初始化()
    self:创建格子(55, 55, 8, 8, 9, 4, true)
end

function 技能网格:左键弹起(x, y, a, b, msg)
    if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.数据 then
        self.子控件[a]._spr:详情打开(x, y)
    end
end

function 技能网格:置数据(数据, 认证,赐福)
    for i = 1, #技能网格.子控件 do
        local lssj = __召唤兽技能格子.创建(当前)
        if 认证 and i == 认证 then
            认证 = 数据[i]
        end
        lssj:置数据(数据[i], 55, 55, nil, 认证,赐福)
        技能网格.子控件[i]:置精灵(lssj)
    end
end

local 内丹 = 召唤兽属性.资质:创建控件("内丹", 0, 0, 440, 375)

function 内丹:初始化()
    local nsf = require('SDL.图像')(440, 375)
    if nsf:渲染开始() then
        __res:getPNGCC(3, 0, 602, 433, 322):显示(0, 49)
        nsf:渲染结束()
    end
    self:置精灵(nsf:到精灵())
end

function 内丹:重置()
    资质.技能:置可见(false)
    资质.内丹:置可见(true)
    资质.进阶:置可见(false)
    local zjcz = 0
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].内丹 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].内丹.格子 then
        资质.内丹.内丹网格:置数据(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].内丹.格子, zjcz, 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽],
            多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].内丹.内丹上限)
    else
        资质.内丹.内丹网格:置数据({})
    end
end

local 内丹网格 = 内丹:创建网格("内丹网格", 0, 0, 440, 375)

function 内丹网格:初始化()
    self:创建格子(55, 55, 8, 8, 1, 6)
end

function 内丹网格:左键弹起(x, y, a, b, msg)
    if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.数据 then
        self.子控件[a]._spr:详情打开(x, y)
    end
end

function 内丹网格:右键弹起(x, y, a, b, msg)
    if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.数据 then
        多开数据[当前].__UI弹出.道具鉴定:打开(nil, 召唤兽属性.选中召唤兽)
    end
end

function 内丹网格:置数据(数据, zjcz, bb, nsgz)
    local 坐标 = { { 181, 69 }, { 288, 132 }, { 288, 242 }, { 181, 305 }, { 75, 242 }, { 75, 132 } }
    for i = 1, #内丹网格.子控件 do
        local lssj = __内丹格子.创建(当前)
        lssj:置数据(数据[i], zjcz, bb, nsgz, i, 55, 55)
        内丹网格.子控件[i]:置精灵(lssj)
        内丹网格.子控件[i]:置坐标(坐标[i][1], 坐标[i][2])
    end
end

local 进阶 = 召唤兽属性.资质:创建控件("进阶", 0, 0, 440, 375)

function 进阶:初始化()
    local nsf = require('SDL.图像')(440, 375)
    if nsf:渲染开始() then
        __res:getPNGCC(3, 438, 608, 433, 322):显示(0, 49)
        __res:取图像(__res:取地址('shape/ui/zhs/', 0x1094AD16)):拉伸(98 * 2, 105 * 2):显示(100, 100)
        nsf:渲染结束()
    end
    self:置精灵(nsf:到精灵())
end

function 进阶:左键弹起(x, y, a, b, msg)
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].易经丹吸收 then
        local 时间 = math.ceil((多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].易经丹吸收 - os.time()) / 60)
        if 时间 > 0 then
            多开数据[当前].__UI弹出.提示框:打开("#W当前还剩余#R" .. 时间 .. "#W分钟，吸收完易经丹！")
        else
            多开数据[当前].__UI弹出.提示框:打开("#Y宝宝已吸收易经丹完毕,可以给宝宝喂食下一个易经丹了！")
        end
    end
end




function 进阶:显示(x, y)
    if self.数据 then
        self.数据:显示(x, y)
    end
    local 时间 = 0
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽] and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].易经丹吸收 then
        时间 = math.ceil((多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].易经丹吸收 - os.time()) / 60)
    end
    if 时间 > 0 then
        进阶.加速:置可见(true)
    else
        进阶.加速:置可见(false)
    end
end

function 进阶:重置()
    资质.技能:置可见(false)
    资质.内丹:置可见(false)
    资质.进阶:置可见(true)
    self.数据 = nil
    if 召唤兽属性.选中召唤兽 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶 then
        local nsf = require('SDL.图像')(440, 375)
        if nsf:渲染开始() then
            if 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 0 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 10 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x4536A03D)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 10 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 20 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x714C3706)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 20 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 30 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0xD60014B8)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 30 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 40 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0xF7EBF987)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 40 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 50 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x11963488)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 50 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 60 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x9A4F1961)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 60 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 70 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x1E7ABB94)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 70 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 80 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0xA6C9A76A)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 80 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 90 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x2982E3F7)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 90 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 91 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x1D0717D7)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 91 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 93 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0xC44F0602)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 > 93 and 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 <= 97 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x9765D0B3)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            elseif 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性 >= 98 then
                __res:取图像(__res:取地址('shape/ui/zhs/', 0x36A2C1A6)):拉伸(100 * 2, 106 * 2):显示(100, 100)
            end
            字体18:置颜色(255, 255, 255)
            字体18:取图像("灵性：" .. 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶.灵性):显示(200, 62)
            nsf:渲染结束()
        end
        self.数据 = nsf:到精灵()
        资质.进阶.特性网格:置数据(多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].进阶)
    else
        资质.进阶.特性网格:置数据({})
    end
end

local 加速 = 进阶:创建我的按钮(__res:getPNGCC(2, 493, 765, 118, 35, true):拉伸(80, 35), "加速", 300, 300, "加速")

function 加速:左键弹起(x, y, a, b, msg)
    发送数据(当前, 5021, { 序列 = 多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].认证码 })
end

local 特性网格 = 进阶:创建网格("特性网格", 121, 145, 126, 102)

function 特性网格:初始化()
    self:创建格子(126, 102, 0, 0, 1, 1)
end

function 特性网格:左键弹起(x, y, a, b, msg)
    if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.数据 then
        发送数据(当前,5017,{认证码=多开数据[当前].角色信息.宝宝列表[召唤兽属性.选中召唤兽].认证码})
    end
end

function 特性网格:打开()
    if self.子控件[1] and self.子控件[1]._spr and self.子控件[1]._spr.数据 then
        self.子控件[1]._spr:详情打开(535, 275)
    end
end

function 特性网格:置数据(数据, zjcz, bb, nsgz)
    for i = 1, #特性网格.子控件 do
        local lssj = __特性格子.创建(当前)
        lssj:置数据(数据, 126, 102)
        特性网格.子控件[i]:置精灵(lssj)
    end
end